package com.igelato.controller.OrderRecharge;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
public class OrderRechargeAddDto implements Serializable {

    @ApiModelProperty("订单号，对应微信的out_trade_no")
    @NotBlank(message = "trade_id不能为空")
    private String trade_id;

    @ApiModelProperty("微信支付系统生成的订单号")
    @NotBlank(message = "transaction_id不能为空")
    private String transaction_id;

    @ApiModelProperty("1：微信支付；2：支付宝支付；")
    @NotNull(message = "pay_type不能为空")
    private Integer pay_type;

    @NotNull(message = "user_id不能为空")
    private Integer user_id;

    @ApiModelProperty("支付金额，单位：分")
    @NotNull(message = "pay_money不能为空")
    private Integer pay_money;

    @ApiModelProperty("支付信息")
    @NotBlank(message = "pay_info不能为空")
    private String pay_info;

    @ApiModelProperty("退款信息")
    @NotBlank(message = "refund_info不能为空")
    private String refund_info;

    @ApiModelProperty("1: 未支付； 2： 已支付；-8：申请退款；-9：已退款； -10：拒绝退款；")
    @NotNull(message = "status不能为空")
    private Integer status;

    @NotNull(message = "pay_success_time不能为空")
    private LocalDateTime pay_success_time;

    @ApiModelProperty("申请退款时间")
    @NotNull(message = "apply_refund_time不能为空")
    private LocalDateTime apply_refund_time;

    @ApiModelProperty("退款成功时间")
    @NotNull(message = "refund_success_time不能为空")
    private LocalDateTime refund_success_time;

}
